package com.shangke.corejava.jdbc.dao;
/**
 * 定义泛型接口，用于定义数据库的基本操作（统一数据类型）
 */
import java.util.List;

import com.shangke.corejava.jdbc.bean.Users;

//定义一个泛型的接口，用于低昂一数据库的基本操作

public  interface IBaseDao<T> {//还不知道什么表，我们定义一个泛型接口，使用T
	//新增
	public abstract boolean add(T param);
	//修改
	public abstract boolean edit(T param);
	//删除
	public abstract boolean deleteById(T param);
	//根据主键查询
	public abstract T finadById(int id);
	//查询所有记录
	public  List<T> findAll();
	/**
	 * 
	 * @param paramT
	 * @return
	 */
	public abstract List<T> findByExample(T param);
	/**
	 * 分页查询
	 * @param page
	 * @param size
	 * @return
	 */
	public abstract List<T> findByPager(int page,int size);
	
	/**
	 * 根据指定的id数组，进行批量删除
	 * @param ids
	 * @return
	 */
	public int deleteByIds(int[] ids);
	/**
	 * 批量新增
	 * @param users
	 * @return
	 */
	public int addAll(List<Users> users);
	/**
	 * 批量修改
	 * @param users
	 * @return
	 */
	public int editAll(List<Users> users);
	int deleteByIds1(int[] ids);

}
